﻿namespace Himp.Platform.Permissions;

public static class PlatformPermissions
{
    //系统设置
    public const string SettingSysGroupName = "SettingSys";
    //
    public const string SettingDictGroupName = "SettingDict";
    //低代码基本设置
    public const string LowCodgBaseSettingGroupName = "LowCodgBaseSetting";
    //工作流
    public const string WorkflowManageGroupName = "WorkflowManage";

    /// <summary>
    /// 系统设置
    /// </summary>
    public static class SettingSys
    {
        //人员
        public const string Staff = SettingSysGroupName + ".Staff";
        public const string StaffCreate = SettingSysGroupName + ".Staff.Create";
        public const string StaffEdit = SettingSysGroupName + ".Staff.Edit";
        public const string StaffDelete = SettingSysGroupName + ".Staff.Delete";

        //岗位
        public const string Pos = SettingSysGroupName + ".Pos";
        public const string PosCreate = SettingSysGroupName + ".Pos.Create";
        public const string PosEdit = SettingSysGroupName + ".Pos.Edit";
        public const string PosDelete = SettingSysGroupName + ".Pos.Delete";

        //菜单
        public const string Menu = SettingSysGroupName + ".Menu";

        //角色权限
        public const string RolePermission = SettingSysGroupName + ".RolePermission";

        //机构
        public const string Organ = SettingSysGroupName + ".Organ";
        public const string OrganCreate = SettingSysGroupName + ".Organ.Create";
        public const string OrganEdit = SettingSysGroupName + ".Organ.Edit";

        //部门
        public const string Dept = SettingSysGroupName + ".Dept";
        public const string DeptCreate = SettingSysGroupName + ".Dept.Create";
        public const string DeptEdit = SettingSysGroupName + ".Dept.Edit";
        public const string DeptDelete = SettingSysGroupName + ".Dept.Delete";

        //分类字典
        public const string CatgeDict = SettingSysGroupName + ".CatgeDict";

        //数据字典
        public const string DataDictionary = SettingSysGroupName + ".DataDictionary";
        public const string DataDictionaryCreate = SettingSysGroupName + ".DataDictionary.Create";
        public const string DataDictionaryEdit = SettingSysGroupName + ".DataDictionary.Edit";

        //编号字典
        public const string NoDict = SettingSysGroupName + ".NoDict";

        //审计
        public const string Auditlog = SettingSysGroupName + ".Auditlog";

        //系统日志
        public const string Syslog = SettingSysGroupName + ".Syslog";

        //消息记录
        public const string MsgRec = SettingSysGroupName + ".MsgRec";
        //消息类别
        public const string MsgType = SettingSysGroupName + ".MsgType";
    }

    /// <summary>
    /// 标准字典
    /// </summary>
    public static class SettingDict
    {
        //
        public const string StdWordDict = SettingDictGroupName + ".StdWordDict";
        //
        public const string StdDomainDict = SettingDictGroupName + ".StdDomainDict";
        //
        public const string StdPhrDict = SettingDictGroupName + ".StdPhrDict";
        //
        public const string StdModelDict = SettingDictGroupName + ".StdModelDict";
    }

    /// <summary>
    /// 低代码基本设置
    /// </summary>
    public static class LowCodgBaseSetting
    {
        public const string ProjectSchemaConfig = LowCodgBaseSettingGroupName + ".ProjectSchemaConfig";
        public const string ProjectConfig = LowCodgBaseSettingGroupName + ".ProjectConfig";
        public const string DataTableConfig = LowCodgBaseSettingGroupName + ".DataTableConfig";
        public const string OpenApiConfig = LowCodgBaseSettingGroupName + ".OpenApiConfig";
        public const string DataFormConfig = LowCodgBaseSettingGroupName + ".DataFormConfig";
    }

    /// <summary>
    /// workflows
    /// </summary>
    public static class WorkflowManage
    {
        //
        public const string ProcessDefinition = WorkflowManageGroupName + ".ProcessDefinition";
        //
        public const string ProcessType = WorkflowManageGroupName + ".ProcessType";
        //
        public const string Node = WorkflowManageGroupName + ".Node";
        //
        public const string ProcessInstance = WorkflowManageGroupName + ".ProcessInstance";
        //
        public const string Todo = WorkflowManageGroupName + ".Todo";
    }
}
